// 审批类型
export const approveTypeOptions = [
	{
		label: '人工审批',
		value: 1
	},
	{
		label: '自动通过',
		value: 2
	},
	{
		label: '自动拒绝',
		value: 3
	}
]
export const approveTypeOptions_config = approveTypeOptions.reduce((res: { [key: string]: any }, { label, value }) => {
	res[value] = label
	return res
}, {})
// 人工审批tabs
export const approveType_1_options = [
	{
		label: '设置审批人',
		value: '1'
	},
	{
		label: '表单权限',
		value: '2'
	},
	{
		label: '操作权限',
		value: '3'
	}
]
// 设置审批人 配置
export const setTypeOptions = [
	{
		label: '指定成员',
		value: 1
	},
	{
		label: '主管',
		value: 2
	},
	{
		label: '角色',
		value: 3
	},
	{
		label: '发起人自选',
		value: 4
	},
	{
		label: '发起人自己',
		value: 5
	},
	{
		label: '连续多级主管',
		value: 6
	}
]
export const setTypeOptions_config = setTypeOptions.reduce((res: { [key: string]: any }, { label, value }) => {
	res[value] = label
	return res
}, {})
// 发起人自选 (人工审批 & setType: 4)
export const selectModeOptions = [
	{
		label: '自选一个人',
		value: 1
	},
	{
		label: '自选多个人',
		value: 2
	}
]

export const selectModeOptions_config = selectModeOptions.reduce((res: { [key: string]: any }, { label, value }) => {
	res[value] = label
	return res
}, {})

// 连续主管审批终点 (人工审批 & setType: 6)
export const directorModeOptions = [
	{
		label: '直到最上层主管',
		value: 0
	},
	{
		label: '自定义审批终点',
		value: 1
	}
]

// 多人审批时审批方式
export const examineModeOptions = [
	{
		label: '按顺序依次审批',
		value: 1
	},
	{
		label: '会签 (可同时审批，每个人必须审批通过)',
		value: 2
	},
	{
		label: '或签 (有一人审批通过即可)',
		value: 3
	}
]

// 审批人与提交人为同一人时
export const approveSelfOptions = [
	{
		label: '由发起人对自己审批',
		value: 0
	},
	{
		label: '自动跳过',
		value: 1
	},
	{
		label: '转交给直接上级审批',
		value: 2
	},
	{
		label: '转交给部门负责人审批',
		value: 3
	}
]

// 延时处理
export const delayProcessSelfOptions = [
	{
		label: '固定时长',
		value: '1'
	},
	{
		label: '自动计算',
		value: '2'
	}
]

// 子流程
export const subProcessType = [
	{
		label: '设置子流程',
		value: '1'
	},
	{
		label: '表单权限',
		value: '2'
	}
]

// export const approveSelfOptions_config = approveSelfOptions.reduce((res: { [key: string]: any }, { label, value }) => {
// 	res[value] = label
// 	return res
// }, {})
// 操作符
export const operatorType = [
	{
		label: '等于',
		value: '=='
	},
	{
		label: '不等于',
		value: '!='
	},
	{
		label: '大于',
		value: '>'
	},
	{
		label: '大于等于',
		value: '>='
	},
	{
		label: '小于',
		value: '<'
	},
	{
		label: '小于等于',
		value: '<='
	},
	{
		label: '包含',
		value: 'include'
	},
	{
		label: '不包含',
		value: 'notinclude'
	}
]
